package com.pic.mgt.syushin.action;

import java.io.File;
import java.util.List;

import com.pic.mgt.manager.business.BasicBusinessInfoBean;

// (送多方新增)
public interface SyushinBusinessApMgtAction {

	/**
	 * 新增集信(Syushin)業務送多方的AP端
	 * @param businessName
	 * @param apName
	 * @return
	 */
	public boolean addSyushinBusinessAp(String businessName, String apName);
	
	/**
	 * 根據給定的業務名稱,刪除集信(Syushin)業務送多方的AP端
	 * @param businessName
	 * @param apName
	 * @return
	 */
	public boolean deleteSyushinBusinessAp(String businessName, String apName);
	
	/**
	 * 查詢集信(Syushin)業務送多方的AP端有哪些
	 * @param businessName
	 * @return
	 */
	public String getApNameByBizName(String businessName);
	
	/**
	 * 清理集信送多方 Table(DB內的syushin_business_ap) 多餘的資料。只要在 table 的資料，其 business name 是無效的 (不存在於業務清單business_list_mgt table中)，該筆即會被刪除。
	 */
	public boolean cleanRedundantApInDB();
	
	/**
	 * 清理集信送多方多餘的 AP 目錄。若AP目錄存在，但卻沒有對應的任一業務,目錄即會被移除.
	 */
	public boolean cleanRedundantApFolder();
	
	/**
	 * 取出所有集信業務AP端的目錄清單
	 * @return
	 */
	public List<File> getAllApFolders();
	
	/**
	 * 根據給定的 BasicBusinessInfoBean，依照其業務的型態和AP名稱，將內所有的 ApInfoBean 中，塞入正確的 AP Folder 資訊。
	 * @param basicBusinessInfoBean
	 */
	public void fillTheApFolderIntoBasicBusinessInfoBean(BasicBusinessInfoBean basicBusinessInfoBean);
}
